Complex network and storage systems, such as, for example, serial attached small computer interface (SAS), are used for moving blocks of data between host computers and/or storage devices in a high performance, enterprise class environment. In the context of storage, a benefit to using an SAS system is that a large number of devices can be added to a domain (i.e., a group of devices that can communicate). Additionally, SAS and SATA (serial advanced technology attachment) drives can be combined to form a storage system which provides benefits of each type of drive.
For connectivity and compatibility purposes, a complex network or storage system often includes multiple expander devices (or expanders) to facilitate connectivity of a large number of end devices. All of the expander devices in such a system are generally required to employ the same firmware revision for ensuring connectivity and compatibility. In a large topology involving hundreds of drives and redundant input/output paths, the number of expander devices is large, and ensuring that the expander devices are operating with the same firmware version can be quite arduous.
Expander devices in the same network generally operate with the same firmware version at any given time. However, conventional techniques do not provide a streamlined approach to upgrading firmware associated with additional expanders in a network in response to an upgrade of firmware associated with a single expander in the network. Rather, a network administrator must individually upgrade firmware on one or more devices using existing management applications, which are at best cumbersome. Moreover, large network topologies often include hundreds of disk drives, redundant input/output paths, and large quantities of expanders, each of which renders individual firmware modifications to these devices very time consuming and impractical. Increases in the amount of time used to complete firmware upgrades becomes even more critical in large data centers that service enormous quantities of users in which system down-time for maintenance is critically limited.